package cn.itsource.system;

import java.util.Arrays;

/**
 * System类常用方法：
 * 		1.System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)(掌握)数组复制方法
 *			src: 源数组
 *			srcPos:源数组开始复制的下标
 *			dest: 目标数组
 *			destPos:目标数组开始复制下标
 *			length: 复制的元素个数
 *			从源数组src中的srcPos下标处，开始复制 length个元素到目标数组dest中，从destPos下标开始粘贴
		2.System.currentTimeMillis()（掌握）返回当前时间毫秒数。主要是用了测试程序运行时间
		
		==================下面作为了解=============================
		3. System.exit(0)结束当前JVM
		4. System.gc() 调用垃圾（堆中匿名对象）回收器
 */
public class SystemTest {

	public static void main(String[] args) {
		//调用System字段: 今天不用
//		System.out.println(System.in);
//		System.out.println(System.out);
//		System.out.println(System.err);
		
		/*
		 * 1.System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)(掌握)数组复制方法
 *			src: 源数组
 *			srcPos:源数组开始复制的下标
 *			dest: 目标数组
 *			destPos:目标数组开始复制下标
 *			length: 复制的元素个数
 *			从源数组src中的srcPos下标处，开始复制 length个元素到目标数组dest中，从destPos下标开始粘贴
		 */
		int[] src = {1,2,3,4,4,5,8,6,6,6};
		int[] dest = new int[6];
		System.arraycopy(src, 2, dest,1, 3);
		System.out.println(Arrays.toString(dest));
		System.out.println(Arrays.toString(src));
		
		//数组扩容和缩容
		int[] copyOf = Arrays.copyOf(src,12);//12大于src的length，所以是扩容
		System.out.println("扩容后新数组：" + Arrays.toString(copyOf));
		System.out.println("源数组：" + Arrays.toString(src));
		
		int[] copyOf2 = Arrays.copyOf(src,6);//6小于src的length，所以是缩容
		System.out.println("缩容后新数组：" + Arrays.toString(copyOf2));
		System.out.println("源数组：" + Arrays.toString(src));
		
	}

}
